package com.triones.api.entity.bo;

import lombok.Data;

import javax.validation.constraints.NotBlank;

@Data
public class BankCardBO {

    /**
     * 卡介质("virtual_card 虚拟卡" "physical_card：实体卡" "virtual_card,physical_card 虚拟卡和实体卡都支持")
     */
    @NotBlank(message = "卡介质不能为空")
    private String cardFormFactor;

    /**
     * 卡组织（"MasterCard" "Discover"）
     */
    @NotBlank(message = "卡组织不能为空")
    private String cardScheme;

    /**
     * 收件人名字，不能包含特殊字符（实体卡时必填）
     */
    private String recipientFirstName;

    /**
     * 收件人姓氏，不能包含特殊字符。（实体卡时必填）
     */
    private String recipientLastName;

    /**
     * 手机号前缀（包括区号），前面加 符号和1-4位的国家呼叫代码。不要包括连字符、空格或括号（实体卡时必填）
     */
    private String mobilePrefix;

    /**
     * 手机号（实体卡时必填）
     */
    private String mobile;

    /**
     * 国籍国家码二字码（实体卡时必填）
     */
    private String country;

    /**
     * 国家名称（实体卡时必填）
     */
    private String countryName;

    /**
     * 省份/州（实体卡时必填）
     */
    private String state;

    /**
     * 城市（实体卡时必填）
     */
    private String city;

    /**
     * 详细地址第一行地址（在信封上展示）长度最多50（实体卡时必填）
     */
    private String addressLine1;

    /**
     * 第二行地址（在信封上展示）长度最多50
     */
    private String addressLine2;

    /**
     * 街道 第三行地址（在信封上展示）长度最多50
     */
    private String addressLine3;

    /**
     * 区 第四行地址（在信封上展示）长度最多50
     */
    private String addressLine4;

    /**
     * 邮政编码（实体卡时必填）
     */
    private String postalCode;
}
